package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.base.BaseDomain;
import com.wyzz.hr.pojo.Department;
import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Empreward;
import com.wyzz.hr.pojo.PositionBase;

public abstract class BaseEmpreward extends BaseDomain implements Serializable {

	public BaseEmpreward() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseEmpreward(String erId) {
		hashCode = 0x80000000;
		setErId(erId);
		initialize();
	}

	protected void initialize() {
	}

	public String getErId() {
		return erId;
	}

	public void setErId(String erId) {
		this.erId = erId;
		hashCode = 0x80000000;
	}

	public String getErType() {
		return erType;
	}

	public void setErType(String erType) {
		this.erType = erType;
	}

	public String getErContent() {
		return erContent;
	}

	public void setErContent(String erContent) {
		this.erContent = erContent;
	}

	public String getErCreateBy() {
		return erCreateBy;
	}

	public void setErCreateBy(String erCreateBy) {
		this.erCreateBy = erCreateBy;
	}

	public Date getErCreateDate() {
		return erCreateDate;
	}

	public void setErCreateDate(Date erCreateDate) {
		this.erCreateDate = erCreateDate;
	}

	public Date getErLastChangeTime() {
		return erLastChangeTime;
	}

	public void setErLastChangeTime(Date erLastChangeTime) {
		this.erLastChangeTime = erLastChangeTime;
	}

	public String getErLastChangeBy() {
		return erLastChangeBy;
	}

	public void setErLastChangeBy(String erLastChangeBy) {
		this.erLastChangeBy = erLastChangeBy;
	}

	public Date getErExeDate() {
		return erExeDate;
	}

	public void setErExeDate(Date erExeDate) {
		this.erExeDate = erExeDate;
	}

	public Department getDepartment() {
		return department;
	}

	public void setDepartment(Department department) {
		this.department = department;
	}

	public Employee getEmployee() {
		return employee;
	}

	public void setEmployee(Employee employee) {
		this.employee = employee;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Empreward))
			return false;
		Empreward empreward = (Empreward) obj;
		if (null == getErId() || null == empreward.getErId())
			return false;
		else
			return getErId().equals(empreward.getErId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getErId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getErId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public String getErForm() {
		return erForm;
	}

	public void setErForm(String erForm) {
		this.erForm = erForm;
	}

	public PositionBase getErPbNo() {
		return erPbNo;
	}

	public void setErPbNo(PositionBase erPbNo) {
		this.erPbNo = erPbNo;
	}

	public static String REF = "Empreward";
	public static String PROP_ER_CONTENT = "erContent";
	public static String PROP_ER_PB_NO = "erPbNo";
	public static String PROP_ER_TYPE = "erType";
	public static String PROP_ER_FORM = "erForm";
	public static String PROP_EMPLOYEE = "employee";
	public static String PROP_ER_LAST_CHANGE_TIME = "erLastChangeTime";
	public static String PROP_ER_ID = "erId";
	public static String PROP_ER_CREATE_BY = "erCreateBy";
	public static String PROP_ER_EXE_DATE = "erExeDate";
	public static String PROP_DEPARTMENT = "department";
	public static String PROP_ER_LAST_CHANGE_BY = "erLastChangeBy";
	public static String PROP_ER_CREATE_DATE = "erCreateDate";
	private int hashCode;
	private String erId;
	private String erType;
	private String erForm;
	private String erContent;
	private String erCreateBy;
	private Date erCreateDate;
	private Date erLastChangeTime;
	private String erLastChangeBy;
	private Date erExeDate;
	private Department department;
	private Employee employee;
	private PositionBase erPbNo;

}
